package constructor;
/*
构造方法概述和作用：
    *给对象进行初始化

构造方法格式特点
    *方法名与类名相同（大小也要与类名一致）
    *没有返回值类型，连void都没有
    *没有具体的返回值return
 */
public class Demo1 {
    public static void main(String[] args) {
        Person p = new Person();//在创建对象的时候，系统就帮我调用了构造方法
        //p.Person();  构造方法不能用对象调用

    }
}

class Person {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    //构造方法

    public Person() {
        System.out.println("空参构造方法");
        //return;构造方法也是有返回语句的
    }

    /*
    构造方法的注意事项：
        1.如果我们没有给出构造方法，系统会自动提供一个无参的构造方法
        2.如果我们给出了构造方法，系统将不再提供默认的无参构造方法
            注意：这个时候如果我们还想使用无参的构造方法
            就必须自己给出，建议永远自己给出无参的构造方法
     */
    public Person(String name, int age) {//有参数的构造方法
        this.name = name;
        this.age = age;
    }
}

